{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "dbc20e9b-f96a-4f29-9b36-143cd1d95d8c",
   "metadata": {},
   "source": [
    "Chapter 19\n",
    "\n",
    "# 基于梯度的数值优化\n",
    "Book_3《数学要素》 | 鸢尾花书：从加减乘除到机器学习 (第二版)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae3327a5-6c45-4e52-bb96-f1d651e02f65",
   "metadata": {},
   "source": [
    "这段代码实现了**梯度下降法**用于优化二次函数，并通过可视化展示了梯度下降的迭代过程和收敛行为。以下从数学角度详细描述代码的功能、数学公式以及可视化的目的。\n",
    "\n",
    "---\n",
    "\n",
    "### 1. **目标函数与数学背景**\n",
    "\n",
    "#### 目标函数\n",
    "定义目标函数为一个简单的二次多项式：\n",
    "$$\n",
    "f(x) = 2x^2 - 8x + 1\n",
    "$$\n",
    "该函数的导数（梯度）为：\n",
    "$$\n",
    "f'(x) = \\frac{d}{dx}(2x^2 - 8x + 1) = 4x - 8\n",
    "$$\n",
    "\n",
    "目标是通过数值优化方法找到函数的最小值点 $x^*$ 和最小值 $f(x^*)$。\n",
    "\n",
    "#### 梯度下降法\n",
    "梯度下降法是一种迭代优化方法，其核心思想是沿着函数梯度的负方向更新变量，以逐步逼近最优解。其更新公式为：\n",
    "$$\n",
    "x_{k+1} = x_k - \\eta f'(x_k)\n",
    "$$\n",
    "其中：\n",
    "- $x_k$ 是第 $k$ 次迭代时的变量；\n",
    "- $\\eta$ 是学习率（步长），控制更新的幅度；\n",
    "- $f'(x_k)$ 是目标函数在 $x_k$ 处的梯度。\n",
    "\n",
    "迭代终止条件是：\n",
    "1. 当前更新的变量变化小于容差 $tol$：\n",
    "   $$\n",
    "   |x_{k+1} - x_k| < tol\n",
    "   $$\n",
    "2. 达到最大迭代次数。\n",
    "\n",
    "---\n",
    "\n",
    "### 2. **梯度下降的实现**\n",
    "\n",
    "代码通过 `gradient_descent` 函数实现了上述迭代过程：\n",
    "1. 初始点为 $x_0$；\n",
    "2. 计算梯度 $f'(x_k)$，根据梯度下降公式更新变量；\n",
    "3. 若两次迭代之间的变量变化小于 $tol$，则认为收敛并终止。\n",
    "\n",
    "---\n",
    "\n",
    "### 3. **可视化梯度下降过程**\n",
    "\n",
    "#### 可视化内容\n",
    "函数 `visualize_gradient_descent_with_convergence` 生成三个子图：\n",
    "1. **目标函数及梯度下降轨迹**：\n",
    "   - 展示目标函数 $f(x)$ 的曲线；\n",
    "   - 用点标记梯度下降的迭代点 $(x_k, f(x_k))$；\n",
    "   - 连线显示迭代过程的路径。\n",
    "\n",
    "2. **变量 $x_k$ 的变化**：\n",
    "   - 绘制迭代过程中 $x_k$ 的变化图；\n",
    "   - 横轴为迭代次数，纵轴为 $x_k$ 的值，反映变量收敛到最优解的过程。\n",
    "\n",
    "3. **函数值 $f(x_k)$ 的变化**：\n",
    "   - 绘制目标函数值 $f(x_k)$ 的变化；\n",
    "   - 横轴为迭代次数，纵轴为 $f(x_k)$ 的值，反映函数值逐步逼近最小值。\n",
    "\n",
    "#### 直观分析\n",
    "- 子图 1 展示了梯度下降法如何沿着函数的下降方向逼近最优解；\n",
    "- 子图 2 和子图 3 展示了变量和目标函数值的收敛趋势。\n",
    "\n",
    "---\n",
    "\n",
    "### 4. **测试与结果**\n",
    "\n",
    "#### 初始条件\n",
    "选择初始点 $x_0 = 5$ 和学习率 $\\eta = 0.1$，进行梯度下降迭代。\n",
    "\n",
    "#### 收敛结果\n",
    "- 梯度下降找到的最小值点 $x^*$ 为：\n",
    "  $$\n",
    "  x^* = \\frac{-b}{2a} = \\frac{8}{4} = 2\n",
    "  $$\n",
    "- 对应的最小值为：\n",
    "  $$\n",
    "  f(x^*) = 2(2)^2 - 8(2) + 1 = -7\n",
    "  $$\n",
    "\n",
    "#### 实际计算结果\n",
    "代码的输出与理论值一致，表明梯度下降法有效地找到最优解。\n",
    "\n",
    "---\n",
    "\n",
    "### 5. **结论与应用**\n",
    "\n",
    "#### 梯度下降法的优点\n",
    "梯度下降法是一种高效的数值优化方法，特别适用于函数导数容易计算的场景。其收敛速度受学习率 $\\eta$ 的影响，合适的学习率可以在较少的迭代次数内逼近最优解。\n",
    "\n",
    "#### 应用场景\n",
    "梯度下降广泛应用于机器学习、数据科学和优化领域，例如：\n",
    "- 参数估计；\n",
    "- 最小化损失函数；\n",
    "- 大规模数据优化。\n",
    "\n",
    "#### 可视化意义\n",
    "通过可视化，梯度下降的过程从数值计算转化为直观的轨迹，可以更好地理解优化路径及收敛行为。本案例的函数简单明确，适合作为梯度下降法的入门示例。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e6215f4-6d36-45f8-afbd-ad4ebf3ad8db",
   "metadata": {},
   "source": [
    "## 导入包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "55f34294-aab2-4a81-af2b-9920cc5a630d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sympy import symbols, diff, lambdify"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "d288c09a-f808-4f05-b79e-45fba4c409d1",
   "metadata": {},
   "outputs": [],
   "source": [
    "p = plt.rcParams  # 获取默认绘图参数\n",
    "p[\"font.sans-serif\"] = [\"Roboto\"]  # 设置无衬线字体为 Roboto\n",
    "p[\"font.weight\"] = \"light\"  # 设置字体粗细为 light\n",
    "p[\"ytick.minor.visible\"] = True  # 显示 y 轴的小刻度\n",
    "p[\"xtick.minor.visible\"] = True  # 显示 x 轴的小刻度\n",
    "p[\"axes.grid\"] = True  # 启用坐标轴网格\n",
    "p[\"grid.color\"] = \"0.5\"  # 设置网格颜色为灰色\n",
    "p[\"grid.linewidth\"] = 0.5  # 设置网格线宽度"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1dc6f93d-165b-4733-a94d-69930513639a",
   "metadata": {},
   "source": [
    "## 目标函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f3b2f988-45e8-4ac4-a953-2e83166f9993",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 2 x^{2} - 8 x + 1$"
      ],
      "text/plain": [
       "2*x**2 - 8*x + 1"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = symbols('x')\n",
    "func = 2*x**2 - 8*x + 1\n",
    "func"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "d3b5a64c-767a-4c55-b656-1a4b6bfb1140",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 4 x - 8$"
      ],
      "text/plain": [
       "4*x - 8"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grad = diff(func, x)  # 计算函数的导数\n",
    "grad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "d9a797e6-40c6-459a-9882-23e5f23cbb18",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将函数和梯度转换为 Python 可执行函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a1234e36-8d19-4e59-9948-8ba8023c98ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "f = lambdify(x, func, 'numpy')\n",
    "grad_f = lambdify(x, grad, 'numpy')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd92c383-e564-4360-895d-4e57ddbbe6a1",
   "metadata": {},
   "source": [
    "## 梯度下降实现"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "74329343-03f9-435e-af78-e1ae09dba001",
   "metadata": {},
   "outputs": [],
   "source": [
    "def gradient_descent(f, grad_f, x0, learning_rate=0.1, max_iter=50, tol=1e-6):\n",
    "    x_vals = [x0]\n",
    "    for _ in range(max_iter):\n",
    "        grad_val = grad_f(x_vals[-1])  # 计算当前点的梯度\n",
    "        x_new = x_vals[-1] - learning_rate * grad_val  # 按梯度更新\n",
    "        x_vals.append(x_new)\n",
    "        if abs(x_new - x_vals[-2]) < tol:  # 如果变化小于容差，停止迭代\n",
    "            break\n",
    "    return x_vals"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "91f4a406-8f6c-4ac9-80be-8ea75e54e33e",
   "metadata": {},
   "source": [
    "## 可视化梯度下降过程和收敛"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a53c819b-209b-4d38-8161-1fa3c7367c20",
   "metadata": {},
   "outputs": [],
   "source": [
    "def visualize_gradient_descent_with_convergence(f, x_vals):\n",
    "    x = np.linspace(-1, 5, 500)  # 设置绘图范围\n",
    "    y = f(x)\n",
    "\n",
    "    # 获取收敛的函数值和对应的最小值点\n",
    "    f_vals = [f(val) for val in x_vals]\n",
    "    iterations = np.arange(len(x_vals))\n",
    "\n",
    "    # 创建图像，分三行一列\n",
    "    fig, axs = plt.subplots(3, 1, figsize=(8, 6), \n",
    "                            height_ratios=[2, 1, 1],\n",
    "                            constrained_layout=True)\n",
    "\n",
    "    # 图1：目标函数及梯度下降过程\n",
    "    axs[0].plot(x, y, label=\"f(x)\", color=\"blue\")\n",
    "    axs[0].scatter(x_vals, f_vals, color=\"k\", marker = 'x', label=\"Iterations\")\n",
    "    axs[0].plot(x_vals, f_vals, linestyle=\"-\", color=\"red\", alpha=0.6)\n",
    "    axs[0].set_title(\"Gradient Descent Optimization\")\n",
    "    axs[0].set_xlabel(\"x\")\n",
    "    axs[0].set_ylabel(\"f(x)\")\n",
    "    axs[0].set_xlim(-1,5)\n",
    "    axs[0].legend()\n",
    "    axs[0].grid(True)\n",
    "\n",
    "    # 图2：收敛过程中最小值点的变化\n",
    "    axs[1].plot(iterations, x_vals, marker=\"x\", label=\"x value\", color=\"green\")\n",
    "    axs[1].set_xlabel(\"Iteration\")\n",
    "    axs[1].set_ylabel(\"Optimized x\")\n",
    "    axs[1].legend()\n",
    "    axs[1].set_xlim(iterations.min(),iterations.max())\n",
    "    axs[1].grid(True)\n",
    "\n",
    "    # 图3：收敛过程中最小值点的变化\n",
    "    axs[2].plot(iterations, f_vals, marker=\"x\", label=\"f(x)\", color=\"blue\")\n",
    "    axs[2].set_xlabel(\"Iteration\")\n",
    "    axs[2].set_ylabel(\"Optimized min of f(x)\")\n",
    "    axs[2].legend()\n",
    "    axs[2].set_xlim(iterations.min(),iterations.max())\n",
    "    axs[2].grid(True)\n",
    "    \n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37025be4-c340-492d-9f49-c4b01474c041",
   "metadata": {},
   "source": [
    "## 测试梯度下降"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "3a7d1357-c6f3-4e3b-8e09-e8624f8c826a",
   "metadata": {},
   "outputs": [],
   "source": [
    "x0 = 5  # 初始点\n",
    "learning_rate = 0.1\n",
    "x_vals = gradient_descent(f, grad_f, x0, learning_rate)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "da38369e-7bd3-44a6-86cc-0a92a309ef3b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "梯度下降找到的最小值点: 2.0000011053695985\n",
      "最小值: -6.999999999997556\n"
     ]
    }
   ],
   "source": [
    "print(f\"梯度下降找到的最小值点: {x_vals[-1]}\")\n",
    "print(f\"最小值: {f(x_vals[-1])}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "964d72ff-3924-47f7-8553-b51162108d1d",
   "metadata": {},
   "source": [
    "## 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "3e42211c-a864-420e-ae8c-1ca413a24eb3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAysAAAJjCAYAAAAMK47pAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC/bklEQVR4nOzdeZxN9R/H8dedfQazWCbLzNjDINllHZIUSSIpQhQ1LdKqxV76FS1qKqUQEdFiSxtjS5oQMWQZy1jHOoMZs93z++M0l2Ewxty5d+68nx73Ye65557v594zy/nc7/fz/VoMwzAQERERERFxMm6ODkBERERERCQnSlZERERERMQpKVkRERERERGnpGRFRERERESckpIVERERERFxSkpWRERERETEKSlZERERERERp6RkRUREREREnJKSFRERERERcUpKVkSkyEhNTeX1118nPDwcHx8fKlSowN133826devs2m50dDQWi4Xo6GgA1qxZQ6lSpVi7dq1d272ckSNHYrFYbLfg4GDuuOMOfvnlF4fE4yjp6en873//Izw8HF9fX8LCwnj88cc5dOhQvrXx9NNP07Bhw+s+zrlz5yhfvjzvvffe9Qd1Ffv27aN06dLMmzfP7m2JiFyNkhURKRKsVit33303b731Fg8++CALFy7k3Xff5cyZMzRv3pzVq1cXWCxNmjRhxYoVNGrUKN+PHRERQURERK72XblyJStXrmTy5MmEhIRwxx13MG7cuHyPqaBZLBZGjhx5xX2sVitdunThrbfeYsCAASxatIixY8eycuVKmjZtyv79+6+53X79+lGpUqVs20aMGMG33357zce6mI+PD9HR0TzyyCPXfawL7dmzB4vFwtSpU23bwsLCWLFiBXfddVe+tiUikhcejg5ARKQgTJs2jZ9++omffvqJDh062LZ369aNZs2aMWTIEGJiYnJ8bmZmJu7u7vkWi7u7O7Vr18634+VVy5YtbV936dKFOnXqMHToUFq3bk2LFi0cGJn9ffrpp/z000/8+eef2ZLGrl27UqtWLYYOHcqcOXOuu52SJUtSsmTJ6z4OwI033pgvx8mN8PDwAmtLRORK1LMiIkXC9OnTadCgQbZEBcDDw4P//e9/REREkJaWBpjDpLy9vXn33XepWLEi7du3ByA5OZlhw4ZRtWpVvL29qVy5Mq+++irp6enZjvnZZ59RpUoVvL29adKkySW9NhcPCwM4c+YMTz75JGXLlsXPz4/bbruNLVu22B4fOXIkgYGB/Pzzz9SvXx9fX19q1arFDz/8AMDUqVOxWCwsX76c5cuXX/JpeW5ERkZSsWJFPvroo2zbf/75Z5o1a4avry8VK1Zk7NixGIZhe/zQoUM89NBDlC1bloCAANq0acPKlSuzHSMhIYF+/foRHBxMYGAg7du3vyQ53LFjB127dsXf359SpUrRv39/Tp06ZXs8IiKCrl278u6771KpUiWKFStG69atiY2NBcyeDYvFAsCoUaOwWCzs2bMnx9f62Wefceedd17Su+Xv78/TTz/Nd999x8mTJwHzvS9btixffPEF1atXx9vbm5tuusk2bC7rfE6bNo29e/dm69m5uLclIiKCzp078+qrr1KhQgV8fHxo3rw5sbGxLFiwgAYNGuDr60vlypV56623ssV24XGzzndOt6zvq6t9v0ZERFC5cmUA+vfvb3vvcuptSU9PZ/jw4VSqVAkfHx9q167NlClTssV3tfMjIpInhohIEVCyZEljwIABudp3xIgRBmA0a9bM+O6774x169YZhmEY3bp1M0qXLm18/PHHxm+//WZMnDjR8PPzM1555RXbc3/44QcDMHr06GEsXLjQ+PTTT40yZcoYgLFs2TLDMAxj2bJl2e5nZGQYzZs3N4KDg43PPvvM+P77743mzZsbZcqUMY4dO2aLyWKxGJUqVTKmTZtmLFq0yGjRooXh5+dnJCQkGEeOHDFWrlxp3HzzzcbNN99srFy50jhy5MgVX19OHnjgASM0NNR2f8GCBYabm5vxwAMPGIsWLTLeeOMNw8vLyxg1apRtn0aNGhnVqlUzvv76a2PhwoVGmzZtDF9fX2Pbtm2GYRhGcnKyUbNmTaNSpUrG1KlTjQULFhjt2rUzihcvbuzYscMwDMOIj483SpUqZTRs2ND49ttvjalTpxrly5c32rZta2unTZs2hpeXl9GiRQtj/vz5xldffWWUL1/eaNy4sWEYhrF9+3Zj5cqVBmD079/fWLlypXHu3LlLXmNaWpphsViyvYYLLV261ACMX375Jdv71ahRI2PevHnG7Nmzjbp16xre3t7G7t27jVOnThkrV6407rjjDqNs2bLGypUrjb179xqGYRh9+/Y1KlasmO01WCwW46GHHjJ++ukn4/PPPzdKlSpllCtXzggJCTE+//xz48cffzQefPBBAzAWL15sey5gjBgxwjAMw3a+s26//fabUbZsWaNSpUrGqVOnDMO4+vfrpk2bjG+++cYAjJdfftlYuXKlYRiGsXv3bgMwpkyZYmv7nnvuMXx9fY3//e9/xsKFC41HH33UAIwJEybk+vyIiOSFkhURKRLc3NyMV199Ndu29PT0bLcsWRenR48ezbb/2rVrje3bt2d7fs+ePY169erZtjVs2NCoX79+tudlXRBeLlmZPn26ARhLly61Pefo0aOGn5+f8fbbb2eLacOGDbZ9/vjjDwMwFi1aZNvWpk0bo02bNld8L66UrAwbNszw8PCw3a9WrZrRunXrbPu88MILRmBgoJGenm4cPXrUAIz333/f9vjx48eNW2+91fjhhx8MwzCMqKgow2KxGFu2bLHtc/bsWaNkyZLGyJEjDcMwjAEDBhhBQUG25MwwDGPx4sUGYMTExNheW1hYmJGYmGjb58033zQA4+zZs7ZtF17U52T//v0GYEyePDnHx7dv324AxldffZXt/Tpx4oRtn0OHDhk+Pj7GU089Zdt2cWKS07Y2bdoYderUybbPqFGjDMD4/vvvbdvS0tIMPz8/47nnnsvV63rmmWcMDw8PY82aNbZtufl+zSkxuXhb1vfr1KlTL3ltxYoVs52P3J4fEZFroWFgIlJkGBcMXdq8eTOenp7ZbhcPGSpdunS2+/Xq1eP777+ndu3a+Pn54enpyezZs21DlTIyMvj777+55557rniciy1ZsoQbbriBVq1akZGRQUZGBoGBgdSsWZM///wz274333yz7esbbrgBgKNHj+bm5eeKm5ubbTjQzp072blzJz179rTFlZGRQfPmzTl16hTbt2+nZMmS1K1blwkTJjBp0iT27NlDyZIl+fXXX+nSpQtgDpOqVq1atjoIPz8/1q9fz6BBg2zvwW233UZAQICtnVtuuQUg23tQuXJl/P39r+s9yPo+sFqtOT6e9fov/H4BCAoKsn1dtmxZWrRowd9//53rdrOUKlUq2/2wsDDA/P7K4unpSZkyZTh27NhVj7d48WLee+89Ro0aRbNmzWzbr/b9mls///wz7u7uPPDAA9m29+vXj7Nnz7JmzRrbtvw4PyIiF1KyIiJFQpkyZdi3b5/tfrVq1YiJiSEmJoYRI0bk6hgPP/wwr732Gj169OCHH34gJiaGzp072x4/evQomZmZtgu03Dp8+DBHjhy5JHlav349x48fv+rzL76ovh6HDx+mbNmytq/BrGW5MK6uXbsCcPz4cdzc3Fi2bBk9evTgjTfeoHLlytSoUYNPP/3Udszjx4/n+J5UrFgxW1tz5szJ1k5WcpDf70FW8hgfH5/j4wcPHgQgODj4qsfJeo/s5Wqv69ChQ/Tr14+2bdvy0ksvZXvsat+vuXX06FHKlCmDp6dntu1Z5y43CVV+fo+KSNGi2cBEpEho2LAhv//+u21mLx8fH1tx9ebNm6/6/NOnT/P111/z8ssvZ5sW98JPycuUKYOHh0euLt4uVKJECapXr87MmTNzfKygGIbB0qVLbbOEZbX99ttv5zgdco0aNQDzPRg/fjzjx49n165dfPTRRwwaNAgfHx8eeughSpYsyaZNm67YdokSJejYsSPPPvvsJY+VL1/+Ol9Zdj4+PtSpU+ey01WvX78ed3d36tevf8XjHD58+JoT0/xktVrp3bs3hmEwffp03NzOf/6Ym+/X3CpZsiTHjx+/ZFa8rKTuaj2HIiLXQz0rIlIkPPLII+zatYvJkydf8lhuPvW1Wq1YrdZsQ1wyMzOzzXTk4eFBgwYNbDN0ZUlISLjisdu0acPevXsJDAykUaNGtluFChWuebpaNzc3MjMzr+k5WcaPH8+ePXt47LHHAKhduzalS5cmNjY2W1wNGzakQoUKlChRgqVLl1KzZk3bcKiqVasyYcIEAgMDbbN9tWrVip07d7Jt2zZbWxkZGdSrV892Id2mTRv+/vtvbrrppmxtlStX7pqTFYvFctX34OGHH2bp0qWsWLEi2/bk5GTef/99OnfufMlF+IXDpw4ePMiaNWuyJTTX897nxRtvvMHSpUuZMmXKJe9Rbr5fAVuCc6W427dvT3p6+iVTOX/11Vf4+vq6/DTXIuJY6lkRkSKha9euPPLIIzzxxBPExsZy5513kp6ezrZt23j33XepVq3aFT8hDggIoG3btowfP942Re/EiROJiYnJto7G8OHD6dy5Mw888AC9e/dm//79vPLKK1eM7ZFHHuHTTz+lXbt2vPLKK1SrVo2NGzcycuRIPvzwQx566KFcv86wsDDmzp3L7NmzadCgAdWrV7/svqtWrcIwDBISEpg3bx5ff/01o0aNolWrVsD5aZ0HDBiAYRjce++9ZGZm8sknnxAXF8eWLVto0qQJycnJ9OnTh1deeYVSpUrx/fffc+rUKds00f3792fixIl06tSJESNGULp0aaKioti9eze9e/cGYMyYMdxyyy20a9eOJ598kpIlS7Jw4UImTZrE5s2bqVat2jW9B/Pnz6dhw4a0bduWgICAS/Z58sknWbBgAV26dGHYsGE0btyYQ4cO8c4775CamprjSvG33347L730EhkZGYwZMwaAIUOGZGt3//79fPHFFzRs2DBbDUp+W7NmDaNGjaJ9+/YEBgayatWqbHGEhYXl6vv1hhtuwNvbm6+//pqSJUvmuBDkbbfdxp133skjjzzCwYMHqVWrFj/++CNffPEFb731FsWLF7fb6xQR0WxgIlKkTJkyxWjatKlRvHhxw8/PzwgPDzdefPHFbLNQXW62rEOHDhk9evQwAgMDjZIlSxqDBw82xo4da9SsWdM4dOiQbb/JkycblSpVMry8vIyGDRsaH3/88RVnAzMMc/avAQMGGGXKlDG8vLyM8PBw4+OPP75iTDnN5LRlyxajdu3ahp+fnzFt2rQc34OsY2XdypQpY3Ts2NH48ccfc9x/7ty5RsOGDQ0vLy8jKCjI6NGjhxEXF2d7PC4uzujRo4dRsmRJw9fX17j55puN6dOnZzvG/v37jV69ehmBgYGGr6+vceuttxrr16/Pts+GDRuMO+64w3ZuWrVqlW2GtJxmOpsyZYoBGLt377ZtmzNnjnHDDTcYgYGB2WbDulhqaqrx+uuvGzVr1jR8fHyMChUqGAMGDDD27duX4/s1efJko1q1aoanp6dRp04d46effsq238GDB42mTZsavr6+xtixYw3DyHk2sNy8BsMwjIoVKxp9+/a13eeC2cAuPocX3rL2ye336/vvv28EBQUZpUuXNs6ePZvj91VKSorx/PPPG+XLlze8vb2NunXrZnv8Wl+biEhuWQxDVW8iIiKXM3LkSEaNGqUicRERB1DNioiIiIiIOCUlKyIiIiIi4pQ0DExERERERJySelZERERERMQpKVkRERERERGnpGRFRERERESckksvCmm1Wjl48CAlSpTAYrE4OhwRERERkSLJMAxOnz5N+fLlcXPLfX+JSycrBw8eJDQ01NFhiIiIiIgIEB8fT0hISK73d+lkpUSJEoD5pvj7+zs4GikI33zzDT169HB0GFIAdK6LFp3v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v/76y8GRiYhIQbEYhmE4OggREZGctG/fnrJly/Lll1/SuHFjmjRpwscff+zosEREpIB4ODoAERGRy4mKiqJevXoEBQURHx/Pr7/+6uiQRESkAClZERERp1WjRg2GDh3KuHHj+PzzzwkKCnJ0SCIiUoBUsyIiIk7t1KlTACQmJjo2EBERKXBKVkRExGn99ddffP7554wfP54RI0Zw8OBBR4ckIiIFSAX2IiLilKxWK02bNqVJkyZERUXRsWNHAgICmD17tqNDExGRAqKaFRERcUqffPIJO3bs4McffwRg/Pjx3Hzzzfzyyy/cdtttDo5OREQKgnpWRERERETEKalmRUREREREnJKSFRERERERcUpKVkRERERExCkpWREREREREaekZEVERERERJySkhUREREREXFKSlZERERERMQpKVkRERERERGnpGRFRERERESckoejA7Anq9XKwYMHKVGiBBaLxdHhiIiIiIgUSYZhcPr0acqXL4+bW+77S1w6WTl48CChoaGODkNERERERID4+HhCQkJyvb9LJyslSpQAzDfF39+f/636H1bDyrBWwxwcmRSUb775hh49ejg6DHEQnf+iTee/aNP5L9p0/p1PUlISoaGhtuvz3HLpZCVr6Je/vz/vb3ifN2LeYHTEaPz9/R0cmRQUPz8/ne8iTOe/aNP5L9p0/os2nX/nda2lGS6drGR5c9WbjIsZx+iI0bzW5jVHhyMiIiIiIrlQJGYDG7dSiYqIiIiISGHjkslKVFQU4eHhNG7c2LZtQIMBDoxIRERERESulUsOA4uMjCQyMpKkpCQCAgIAaDetHVsjt2oKYxEREZEiKDMzk/T0dEeH4bLc3d3x8PDI92ttl0xWLmaxWPj3+L/0+KYHc++b6+hwRERERKQAnTlzhv3792MYhqNDcWl+fn6UK1cOLy+vfDtmkUhWXmn1CmP/HMu8rfN44ZcXeOu2txwdkoiIiIgUgMzMTPbv34+fnx9lypTRKBs7MAyDtLQ0jh49yu7du6levfo1Lfx4JUUiWRnSbAiL9i1iw+ENzP93Pv9r/z99o4qIiIgUAenp6RiGQZkyZfD19XV0OC7L19cXT09P9u7dS1paGj4+PvlyXJcssL+Yp7snU7tOxcPNg3+P/8vsLbMdHZKIiIiIFCB9UG1/+dWbku2Y+X5EJ3XTDTfxaqtXAXhi8RMc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Ettvls1mcxQqAD169GD9+vUuj1MehQPtFywAm83UVEREREREfJJTxcqAAQMYNmwY7733Hnv37uXAgQN88MEHDBs2jIEDB7o0wby8PMLCwoq0BQQEEBRU/KTQlStXyM7OLnJzlz17ICwMTp2CVauKvjZ1qrHavYiIiIiIOM+pFeznzJnDtGnTmDBhAmfOnAEgOjqaZ555hsTERJcmePr0aaKjo4u1F5Qwb/D06dOZPHlysfbly5dTpUoVl+Z18GBzLl5sBcCkST9y9eoGAFaubM6KFa3o1283S5fuc2lMKb/vv/+epUuXmp2GmET979/U//5N/e/f1P/e5/Lly069z2K32+03E/j8+fNYLBYiIyNvZjelOnr0KCdOnKBDhw5F2pcsWcLQoUOLtF25coUrV644nmdnZxMbG0tWVhYREREuz+33v4fXXzce79sHH34IEycaY1heftnl4cQJS5cuZdCgQWanISZR//s39b9/U//7N/W/98nOziYyMrLcv8udXhTy66+/5umnn2bw4MFcvnwZu91OUlISeXl5zu6yREFBQWWeCjk4OJiIiIgiN3f661+haVPjccuWKlRERERERFzJqWLlrbfeonfv3litVjZs2EBOTg65ubksW7aMF1980aUJxsTEOC4180bz5hn3BQUQEAATJpibj4iIiIiIr3CqWJkxYwYffPABs2bNolKlSgCEhIQwa9YslixZ4tIErVZrsYHyBQUF2LxkCq5Nm35+XFAATZrA6dOmpSMiIiIi4jOcKlZOnjxJ48aNi7Xb7XanB8/cSKVKlbhw4YLjeXJyslsWnyyvqVN/vvTr668hJAS+/x5uuw3+7//Mzk5EREREpGJzajawbt26MX36dOb99xooi8XCTz/9xPPPP098fLxLEwQYOHAgc+fOpXLlythsNmrXrk29evVcHqc8ri1UCseo7NoF//M/cO4c3HknfPYZdOpkZpYiIiIiIhWXU8XKvHnz6NGjB7feeis5OTk8+OCDHD16lAYNGrB27VpX50ilSpUYM2aMy/d7M/Lziw+mb9LEOKNy111w4gT85jfwzjugyShERERERMrPqWIlOjqa7du3s2HDBlJTUwFo2rQp9913HwEBTk8wVqGUtuhjdDQcOgSPPmpMZTx4MBw9Ci++CBaLJzMUEREREanYnCpWjh8/TmxsLN26daNbt26O9sIZ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Ur94Ko7637/jqP+9M44vHUtJ+1P/mx/j+v05+7vcqdnAxo0bxxNPPMHMmTMdA+0LCgoYP348Y8aM4fDhw87s1uXsdjtgjF0R//Dcc8Z9YZdfvnzZ0f/jxhV97WZcvmysSzNuXNH9jRtnDPy/fPnm43gihqfimHUshf3vC8dSkeOo//07jvrfO+P40rGUFEf9b36M4nGMHRb+Pi+rcg2wLxQVFcW///1vGjVqVKT98OHD3HPPPZy/djSoidLS0mjYsKHZaYiIiIiICHD8+HHq1KlT5u2dOrMSHx/P3r17ixUre/bsoVu3bs7s0i0KZys7duyY21eyb9OmDSkpKRU+hqfieCJGdnY2sbGxHD9+3O2zwfnK38xTcXyp/32pXzwVR/3v33HU/94Zx5eORf3vnTHsdjt33303tWrVKtf7nCpWwsPDGTZsGH369CEgIAAwLgP76KOP6NixI48//rhj20WLFjkTwiUKc4uMjHT7j9XAwECfiOGpOJ46FoCIiAifOB71v3Pc3f++1C+eiqP+9+846n/vjONLx1JI/e9dMQCsVqvj93lZOVWsBAQE0LdvX+Dn684sFkuxNn+SkJDgEzE8FcdTx+IpvvQ386Vj8QRf6hdPxVH/+3cc9b93xvGlY/EUX/qbefOxODVmpaLQopD+Tf3v39T//k3979/U//5N/e9byn1m5ciRI3z88cekpaWRnZ1NREQE9evXp2fPnl43mD04OJhXXnmF4OBgs1MRE6j//Zv637+p//2b+t+/qf99S5nPrNjtdsaOHcucOXNo3rw59evXp2rVqmRlZZGRkcHu3bt56qmn+Mc//uGYzlhERERERMRZZT6zMn36dL744gtSUlJo3bp1sdf37dvHoEGDmDZtGi+//LJLkxQREREREf9T5jMrDRo0YNGiRXTu3LnUbb7++mseffRRjh496qL0RERERETEX5V57rDTp0/ToEGDG25Tt25dzpw5c9NJiYiIiIiIlPkysNatW7N69WrGjBlT6jYffvghd9xxh0sSu1k2m4358+djtVopKCigbt263H///WanJR4yevRo7rrrLsfz0NBQBg0aZGJG4gnbtm3DZrPRqVMnR9u+ffvYuHEjISEhXLx4kX79+lG7dm0TsxR3KKnvly1bRlZWVpFxlK1bt+buu+82I0Vxk4yMDNasWUOVKlWw2WzcdtttdOnS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Vzhy5IijLSwszPE4JCSES5cuOX18IiLiXjqzIiIibjVz5ky6du1apK127dps37692LazZ8/mL3/5C3//+99p2bIlu3btYujQoWWKExwcXKTwgZ8H7efm5hIeHu7kEYiIiFlUrIiIiMtcO9gdoGnTphw5coRRo0Y52i5evEhISEiJ7//yyy8ZOnQojzzyCECRy8VK2v+1mjVrxtmzZzl06JDjMrKtW7ditVpp0qQJ586dc+qYRETEPLoMTEREXKZatWps2bKFvXv3AvD8888ze/ZsFi5cSHp6OvPnz6d58+aOGbqu17hxYz777DP27NnDtm3beOGFFwAcM3ZVq1aNgwcPsmPHjmKzeDVq1IiHH36Y4cOHs3PnTr755hvGjx/PiBEjiIyMdONRi4iIu6hYERERlxk7dix79uxhwIABAAwYMIAZM2Ywbdo0br/9dubPn897772H1Wot8f0vv/wyTZo0oX379jz55JOMHDmShg0bkp6e7thfjRo16Nq1a7GzLgALFy6kQYMG3HvvvfTp04devXoxa9Ys9x2wiIi4lcVut9vNTkJEREREROR6OrMiIiIiIiJeScWKiIiIiIh4JRUrIiIiIiLilVSsiIiIiIiIV1KxIiIiIiIiXknFioiIiIiIeCUVKyIiIiIi4pVUrIiIiIiIiFdSsSIiIiIiIl5JxYqIiIiIiHglFSsiIiIiIuKV/j90CDhfp/wKkwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_gradient_descent_with_convergence(f, x_vals)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
